.\" Copyright (C) 2006 International Business Machines Corporation
.\" Written by Anthony Bussani based on the Trusted Computing Group Software Stack Specification Version 1.2
.\"
.de Sh \" Subsection
.br
.if t .Sp
.ne 5
.PP
\fB\\$1\fR
.PP
..
.de Sp \" Vertical space (when we can't use .PP)
.if t .sp .5v
.if n .sp
..
.de Ip \" List item
.br
.ie \\n(.$>=3 .ne \\$3
.el .ne 3
.IP "\\$1" \\$2
..
.TH "Tspi_DAA_IssueCredential" 3 "2006-09-04" "TSS 1.2"
.ce 1
TCG Software Stack Developer's Reference
.SH NAME
Tspi_DAA_IssueCredential \- issue a DAA credential for a TCG platform
.SH "SYNOPSIS"
.ad l
.hy 0
.nf
.B #include <tss/tss_typedef.h>
.B #include <tss/tss_structs.h>
.B #include <tss/tspi.h>
.sp
.BI "TSPICALL Tspi_DAA_IssueCredential("
.BI "    TSS_HDAA                    " hDAA ","
.BI "    UINT32                      " attributesIssuerLength ","
.BI "    BYTE**                      " attributesIssuer ","
.BI "    TSS_DAA_CREDENTIAL_REQUEST  " credentialRequest ","
.BI "    TSS_DAA_JOIN_ISSUER_SESSION " joinSession ","
.BI "    TSS_DAA_CRED_ISSUER*        " credIssuer
.BI ");"
.fi
.sp
.ad
.hy

.SH "DESCRIPTION"
.PP
\Tspi_DAA_IssueCredential\fR
is part of the DAA Issuer component. It's the last function out of 2 in order to issue a DAA
Credential for a TCG Platform. It detects rogue TPM according to published rogue TPM DAA keys.
This is an optional function and does not require a TPM or a TCS.

.SH "PARAMETERS"
.PP
.SS hDAA
The \fIhDAA\fR parameter is used to specify the handle of the DAA object.
.SS attributesIssuerLength
The \fIattributesIssuerLength\fR parameter is the length of the attributesIssuer array, which is
determined by the DAA Issuer public key (li). The length of a single attribute is if/8.
.SS attributesIssuer
The \fIattributesIssuer\fR parameter is the array of attributes to be encoded into the DAA Credential
visible to the DAA Issuer .
.SS credentialRequest
The \fIcredentialRequest\fR parameter is the credential request of the Platform, it contains the
blinded DAA public key of the platform on which the DAA Issuer will issue the credential the
blinded attributes chosen by the Platform.
.SS joinSession
The \fIjoinSession\fR parameter is the structure containing the DAA Join session information.
.SS credIssuer
The \fIcredIssuer\fR parameter is the structure containing the DAA Credential issued by the DAA
Issuer, the proof of correctness of the credential and the attributes chosen by the DAA Issuer.

.SH "RETURN CODES"
.PP
\fBTspi_DAA_IssueCredential\fR returns TSS_SUCCESS on success, otherwise one of the
following values is returned:
.TP
.SM TSS_E_BAD_PARAMETER
.TP
.SM TSS_E_INTERNAL_ERROR
An internal SW error has been detected.
.TP
.SM TSS_E_DAA_AUTHENTICATION_ERROR
The authentication proof of the TPM is incorrect.
.TP
.SM TSS_E_DAA_PSEUDONYM_ERROR
The TPM is rogue.
.TP
.SM TSS_E_DAA_CREDENTIAL_REQUEST_PROOF_ERROR
The proof of the credential request is incorrect.

.SH "CONFORMING TO"
.PP
\fBTspi_DAA_IssueCredential\fR conforms to the Trusted Computing Group
Software Specification version 1.2

.SH "SEE ALSO"

.PP
\fBTspi_DAA_IssuerKeyVerification\fR(3)

